package com.ssy.lingxi.purchase.api.dto.request.purchase;

import com.ssy.lingxi.purchase.api.dto.request.EnclosureUrlsRequest;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 需求单报价
 */
@Data
public class QuotedPriceAddRequest {

    /**
     * 报价单ID, 修改时必传
     * */
    private Long quotedPriceId;

    /**
     * 需求单ID
     * */
    @NotNull(message = "需求单ID不能为空")
    private Long purchaseInquiryId;

    /**
     * 对应需求单号
     * */
    @NotEmpty(message = "需求单号不能为空")
    private String purchaseInquiryNo;

    /**
     * 需求会员名字
     * */
    @NotEmpty(message = "需求会员名字不能为空")
    private String memberName;

    /**
     * 需求会员ID
     * */
    @NotNull(message = "需求会员ID不能为空")
    private Long memberId;

    /**
     * 需求会员角色ID
     * */
    @NotNull(message = "需求会员角色ID不能为空")
    private Long memberRoleId;

    /**
     * 交付日期
     * */
    private Long deliveryTime;

    /**
     * 交付说明
     * */
    private String deliveryDetails;

    /**
     * 付款说明
     * */
    private String payDetails;

    /**
     * 税费说明
     * */
    private String taxes;

    /**
     * 物流说明
     * */
    private String logistics;

    /**
     * 包装说明
     * */
    private String packRequire;

    /**
     * 其他说明
     * */
    private String otherRequire;

    /**
     * 报价单摘要
     * */
    @NotEmpty(message = "报价单摘要不能为空")
    private String quotedDetails;

    /**
     * 附件链接集合
     * */
    private List<EnclosureUrlsRequest> enclosureUrls;

    /**
     * 报价物料详情
     * */
    @Valid
    @NotEmpty(message = "报价物料详情不能为空")
    private List<QuotedPriceDetailsRequest> detailss;

    /**
     * 联系电话
     * */
    @NotEmpty(message = "联系电话不能为空")
    private String tel;

    /**
     * 联系电话前缀ID
     * */
    @NotNull(message = "联系电话前缀ID不能为空")
    private Long telPrefix;

    /**
     * 联系人
     * */
    @NotEmpty(message = "联系人不能为空")
    private String contacts;
}
